package DAO;

import java.util.List;

import modelo.Categoria;
import modelo.Produto;

import org.hibernate.Session;
import org.hibernate.Transaction;

import br.com.caelum.vraptor.ioc.Component;

@Component
public class CategoriaDao {

	private final Session session;

	public CategoriaDao(Session session) {
		this.session = session;
	}

	public void salva(Categoria categoria) {
		Transaction tx = session.beginTransaction();
		session.save(categoria);
		tx.commit();
	}

	public List<Categoria> listaTudo() {
		return this.session.createCriteria(Categoria.class).list();
	}

	public Categoria carrega(Long id){
		return (Categoria) this.session.load(Categoria.class, id);
	}
	
	public void remove(Categoria categoria) {

		Transaction tx = session.beginTransaction();
		this.session.delete(categoria);
		tx.commit();
	}
	

	public void recarrega(Categoria categoria) {
		session.refresh(categoria);
	}
}
